Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M15 Manacor M25 Figueira da Foz Porto Challenger Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Usa F15 Brazil F22 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 USA F14 USA F15 USA F16 Spain F11 (Valldoreix) M15 Sintra M15 Sintra M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M15 Torello M25 Porto M25 Porto M25 Badalona M25 Mataro M15 Monastir M15 Monastir USA F5 (Weston) Naples Challenger - Naples M15 Santo Domingo M25 Castelo Branco M25 Reus III Challenger Isla de Gran Canaria Ciudad de Telde - Telde M15 Monastir Moncton Men's Challenger - Moncton Levene Gouldin & Thompson Tennis Challenger - Binghamton National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Abierto Internacional Varonil Ciudad de Cancun - Cancun M15 Monastir Tunis Challenger M15 Santo Domingo M25 Quinta do Lago Lexington Challenger Salvador Challenger M15 Monastir Bucaramanga Challenger Le Gosier Challenger M15 Monastir Campinas Challenger Sao Leopoldo Challenger Buenos Aires Challenger Montevideo Challenger Sao Paulo Challenger Florianopolis Challenger Le Gosier Challenger Blumenau Challenger Bordeaux Challenger M25 Mataro Caltanissetta Challenger Marburg Challenger Arad Challenger M15 Monastir M15 Monastir M15 Rodez M15 Monastir M25 Porto San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger ATP Challenger Tour Finals Sao Paulo Challenger M25 Vale do Lobo Itajai Challenger Santos Challenger Bordeaux Challenger Sao Paulo Challenger Recife Challenger Campinas Challenger Porto Alegre Challenger Sao Jose Do Rio Preto Challenger Bogota Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Furth Challenger M15 Santo Domingo Blois Challenger Marburg Challenger Braunschweig Challenger Genova Challenger M25 Vila Real de Santo Antonio Campinas Challenger M15 Santo Domingo M15 Santo Domingo Charlottesville Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger M25 Les Franqueses del Valles Santo Domingo Challenger Irving Challenger M15 Monastir Le Gosier Challenger Savannah Challenger Caltanissetta Challenger Blois Challenger Vancouver Challenger Meknes Challenger Lima Challenger Montevideo Challenger Bucaramanga Challenger Jonkoping Challenger M15 Monastir Turin Challenger M15 Monastir M15 Monastir Vicenza Challenger M15 Villers-les-Nancy M15 Monastir Guayaquil Challenger M15 Monastir Todi Challenger Milan Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Campinas Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger M15 Monastir Lima Challenger Francavilla Challenger M15 Monastir M15 Torello Sao Leopoldo Challenger M15 Les Franqueses del Valles Sopot Challenger M25 Tarragona M25 Reus Campinas Challenger Ann Arbor Challenger Oeiras 2 Challenger Oeiras 4 Challenger Biella 7 Challenger M25 Villeneuve-Loubet M25 Mungia-Laukariz M25 Bakio M25 Getxo Kosice Challenger M25 Roda de Bara Maia 2 Challenger Cherbourg Challenger Forli 6 Challenger Campos do Jordao Challenger Belo Horizonte Challenger M15 Monastir M15 Monastir Waco Challenger Las Franquesas del Valles Challenger Lisbon Challenger M25 Sabadell M25 Zaragoza M15 Pontevedra Santiago Challenger M15 Ceuta M15 Manacor M25 Vila Real de Santo Antonio Oeiras 2 Challenger M15 Monastir M25 Vale do Lobo Lisbon Challenger M15 Monastir Prague 2 Challenger Belem Challenger Campinas Challenger Guayaquil Challenger Pozoblanco Challenger M15 Mungia-Laukariz M25 Sabadell Oeiras 2 Challenger Oeiras 1 Challenger M25 Castelo Branco Lisbon Challenger Buenos Aires Challenger M15 Monastir Sao Paulo Challenger Puerto Vallarta Challenger M15 Monastir M25 Setubal Challenger Britania Zavaleta - Puebla Santa Fe 2 Challenger Oeiras 3 Challenger Estoril Open - Estoril Gerry Weber Open - Halle Oeiras 3 Challenger Mallorca Challenger Oeiras 5 Challenger Delray Beach International Tennis Championships - Delray Beach Sarasota Challenger Estoril Open - Estoril Oeiras 1 Challenger Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Oeiras 3 Challenger San Marino Challenger Montevideo Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Oeiras 1 Challenger VTR Open - Vina del Mar Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Girona Challenger Swiss Indoors Basel - Basel Manama Challenger Francavilla Challenger Oeiras 4 Challenger Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston BB&T Atlanta Open - Atlanta Sibiu Challenger Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Buenos Aires Challenger Montevideo Challenger Rio Open - Rio de Janeiro Murcia Challenger Brasil Open - Sao Paulo Montevideo Challenger Millennium Estoril Open - Estoril Open Parc - Lyon Brasil Open - Sao Paulo 2007 Knoxville Challenger - Knoxville Copa Claro - Buenos Aires Bancolombia Open - Bogota Girona Challenger Oldum Brown Vancouver Open - Vancouver Ford Tennis Championships - Louisville Tampere Challenger Maia 1 Challenger Forli 5 Challenger Tenerife 3 Challenger Zadar Challenger Oeiras 1 Challenger Bordeaux Challenger Perugia Challenger St. Petersburg Open - St. Petersburg Brasilia Challenger Apia International - Sydney Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Sao Paulo Challenger Aircel Chennai Open - Chennai Sao Paulo Challenger Dallas Challenger Poznan Challenger Seville Challenger Brasil Open - Sao Paulo Prague Challenger Bordeaux Challenger Campos do Jordao Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Argentina Open - Buenos Aires Roma Open Challenger - Rome Recife Challenger Belo Horizonte Challenger San Remo Tennis Cup - San Remo Sao Jose Do Rio Preto Challenger Bucaramanga Challenger Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Santos Challenger Sao Paulo Challenger GHI Bronx Tennis Classic - Bronx Timisoara Challenger Semgroup Challenger - Tulsa Tampere Challenger Estoril Challenger Sacramento Challenger - Sacramento St. Remy Challenger Campinas Challenger Salinas Challenger Bucaramanga Challenger Sao Paulo Challenger Braunschweig Challenger Dallas Challenger Sao Paulo Challenger Oeiras 2 Challenger Guayaquil Challenger Dallas Challenger Aix En Provence Challenger Porto Alegre Challenger Sarasota Challenger Mestre Challenger Aptos Challenger Santiago Challenger Guayaquil Challenger Prostejov Challenger Tenerife 1 Challenger Braunschweig Challenger Bet-at-home Open - Hamburg Bucaramanga Challenger Campinas Challenger Tampere Challenger Nur-Sultan Challenger Tampere Challenger Campinas Challenger Buenos Aires Challenger Santo Domingo Challenger Aix En Provence Challenger Kazan Challenger Bordeaux Challenger Braunschweig Challenger Portugal Open - Oeiras Lyon Challenger Como Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Sao Paulo Challenger Corrientes Challenger Lima Challenger Buenos Aires Challenger Bangkok Challenger Verona Challenger Scheveningen Challenger Rio De Janeiro Challenger Napoli Challenger Barletta Challenger Bordeaux Challenger Bendigo Challenger Mestre Challenger Milan Challenger Braunschweig Challenger Forli 4 Challenger Roseto Degli Abruzzi 2 Challenger Biella Challenger Santo Domingo Challenger Braga Challenger Lima Challenger Guayaquil Challenger Seville Challenger Barletta Challenger Francavilla Challenger Rome Challenger Bordeaux Challenger Lisbon Challenger Braunschweig Challenger Todi Challenger Sao Leopoldo Challenger Seville Challenger Canberra Challenger Rome Challenger Buenos Aires Challenger Lima Challenger Campinas Challenger Rio De Janeiro Challenger Rennes Challenger Monterrey Challenger Porto Challenger Santiago Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger Montevideo Challenger Braga Challenger Braga Challenger Oeiras 4 Challenger Zagreb Challenger Lima 2 Challenger Tenerife 2 Challenger Estoril Open - Estoril Abierto Mexicano - Los Cabos Milan Challenger Brasov Challenger Como Challenger Porto Challenger Millennium Estoril Open - Estoril Genova Challenger Porto 2 Challenger Lisbon Challenger Winston-Salem Open - Winston-Salem Braga Challenger Valencia Challenger M15 Santo Domingo Montevideo Challenger Curitiba Challenger Guayaquil Challenger Lima 2 Challenger Buenos Aires Challenger Girona Challenger Orlando Challenger Columbus Challenger Newport Beach Challenger Millennium Estoril Open - Estoril Chennai Challenger Bangkok Challenger Bangkok Challenger Forli Challenger Milan Challenger Yokohama Challenger Porto Challenger Poznan Challenger Barletta Challenger Amersfoort Challenger Porto Alegre Challenger Montechiarugolo - Parma Challenger Braga Challenger BNP Paribas Open - Indian Wells Millennium Estoril Open - Estoril Sony Open Tennis - Miami Estoril Open - Estoril Madrid Challenger BNP Paribas Open - Indian Wells Aix En Provence Challenger Western & Southern Open - Cincinnati Miami Open - Miami Las Vegas Challenger Miami Open - Miami M15 Monastir BNP Paribas Open - Indian Wells Campbells Hall of Fame Tennis Championships - Newport Rio Open - Rio de Janeiro Estoril Open - Estoril Open de Nice Cote d'Azur - Nice M15 Monastir Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Bet-at-home Open - Hamburg M25 Quinta Do Lago Argentina Open - Buenos Aires Millennium Estoril Open - Estoril M25 Badalona Millennium Estoril Open - Estoril U.S. Open - New York Madrid Challenger French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Generali Open - Kitzbuhel Australian Open - Melbourne Shenzhen Open - Shenzhen Sony Ericsson Open - Miami Wimbledon - London U.S. Open - New York Mutua Madrid Open - Madrid Wimbledon - London U.S. Open - New York Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 3R, POR-BLR 3-2 Wimbledon - London Davis Cup, Group I, 1R, POR-AUT 1-4 Sony Ericsson Open - Miami Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 French Open - Paris Davis Cup, Group I, PO, POR-POL 4-0 Australian Open - Melbourne Davis Cup, Group 2, 2R, POR-TUN 4-1 Wimbledon - London Wimbledon - London U.S. Open - New York Davis Cup, Group I, PO, SVK-POR 3-1 Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Davis Cup, Group I, PO, RUS-POR 4-1 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) Wimbledon (juniors) U.S. Open - New York Wimbledon - London M25 Martos French Open (juniors) All Lower level tournaments Australian Open - Melbourne U.S. Open (juniors) Olympics - Rio de Janeiro Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, ROU-POR 3-1